<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Disk buffer</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Disk_buffer"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Disk_buffer rootpage-Disk_buffer skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Disk buffer</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="Page_cache" title="Page cache">Page cache</a>.</div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p>In <a href="Computer_storage" class="mw-redirect" title="Computer storage">computer storage</a>, a <b>disk buffer</b> (often ambiguously called a <b>disk cache</b> or a <b>cache buffer</b>) is the embedded memory in a <a href="Hard_disk_drive" title="Hard disk drive">hard disk drive</a> (HDD) or <a href="Solid-state_drive" title="Solid-state drive">solid-state drive</a> (SSD) acting as a <a href="Buffer_(computer_science)" class="mw-redirect" title="Buffer (computer science)">buffer</a> between the rest of the computer and the physical <a href="Hard_disk_platter" class="mw-redirect" title="Hard disk platter">hard disk platter</a> or <a href="Flash_memory" title="Flash memory">flash memory</a> that is used for storage.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Modern hard disk drives come with 8 to 256 <a href="Mebibyte" class="mw-redirect" title="Mebibyte">MiB</a> of such memory, and <a href="Solid-state_drive" title="Solid-state drive">solid-state drives</a> come with up to 4 GB of cache memory.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Since the late 1980s, nearly all disks sold have embedded <a href="Microcontroller" title="Microcontroller">microcontrollers</a> and either an <a href="Advanced_Technology_Attachment" class="mw-redirect" title="Advanced Technology Attachment">ATA</a>, <a href="Serial_ATA" class="mw-redirect" title="Serial ATA">Serial ATA</a>, <a href="SCSI" title="SCSI">SCSI</a>, or <a href="Fibre_Channel" title="Fibre Channel">Fibre Channel</a> interface. The drive circuitry usually has a small amount of memory, used to store the data going to and coming from the disk platters.
</p><p>The disk buffer is physically distinct from and is used differently from the <a href="Page_cache" title="Page cache">page cache</a> typically kept by the <a href="Operating_system" title="Operating system">operating system</a> in the computer's <a href="Main_memory" class="mw-redirect" title="Main memory">main memory</a>. The disk buffer is controlled by the microcontroller in the hard disk drive, and the page cache is controlled by the computer to which that disk is attached. The disk buffer is usually quite small, ranging between 8 MB and 4 GB, and the page cache is generally all unused main memory. While data in the page cache is reused multiple times, the data in the disk buffer is rarely reused.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> In this sense, the terms <i>disk cache</i> and <i>cache buffer</i> are misnomers; the embedded controller's memory is more appropriately called <i>disk buffer</i>.
</p><p>Note that <a href="Disk_array_controller" title="Disk array controller">disk array controllers</a>, as opposed to <a href="Disk_controller" title="Disk controller">disk controllers</a>, usually have normal cache memory of around 0.5–8 GiB.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Uses">Uses</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Read-ahead/read-behind">Read-ahead/read-behind</h3></div>
<p>When a disk's controller executes a physical read, the actuator moves the <a href="Disk_read-and-write_head" title="Disk read-and-write head">read/write head</a> to (or near to) the correct cylinder. After some settling and possibly fine-actuating the read head begins to pick up track data, and all is left to do is wait until platter rotation brings the requested data.
</p><p>The data read <b>ahead</b> of request during this wait is unrequested but free, so typically saved in the disk buffer in case it is requested later.
</p><p>Similarly, data can be read for free <b>behind</b> the requested one if the head can stay on track because there is no other read to execute or the next actuating can start later and still complete in time.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>If several requested reads are on the same track (or close by on a spiral track), most unrequested data between them will be both read ahead and behind.
</p>
<div class="mw-heading mw-heading3"><h3 id="Speed_matching">Speed matching</h3></div>
<p>The speed of the disk's <a href="I/O_interface" class="mw-redirect" title="I/O interface">I/O interface</a> to the computer almost never matches the speed at which the bits are transferred to and from the <a href="Hard_disk_platter" class="mw-redirect" title="Hard disk platter">hard disk platter</a>. The disk buffer is used so that both the I/O interface and the disk read/write head can operate at full speed.
</p>
<div class="mw-heading mw-heading3"><h3 id="Write_acceleration">Write acceleration</h3></div>
<p>The disk's embedded microcontroller may signal the main computer that a disk write is complete immediately after receiving the write data, before the data is actually written to the platter. This early signal allows the main computer to continue working even though the data has not actually been written yet. This can be somewhat dangerous, because if power is lost before the data is permanently fixed in the magnetic media, the data will be lost from the disk buffer, and the file system on the disk may be left in an inconsistent state.
</p><p>On some disks, this vulnerable period between signaling the write complete and fixing the data can be arbitrarily long, as the write can be deferred indefinitely by newly arriving requests. For this reason, the use of write acceleration can be controversial. Consistency can be maintained, however, by using a battery-backed memory system for caching data, although this is typically only found in high-end <a href="RAID_controller" class="mw-redirect" title="RAID controller">RAID controllers</a>.
</p><p>Alternatively, the caching can simply be turned off when the integrity of data is deemed more important than write performance. Another option is to send data to disk in a carefully managed order and to issue "cache flush" commands in the right places, which is usually referred to as the implementation of <a href="Write_barrier" title="Write barrier">write barriers</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Command_queuing">Command queuing</h3></div>
<p>Newer <a href="Serial_ATA" class="mw-redirect" title="Serial ATA">SATA</a> and most <a href="SCSI" title="SCSI">SCSI</a> disks can accept multiple commands while any one command is in operation through "command queuing" (see <a href="Native_Command_Queuing" title="Native Command Queuing">NCQ</a> and <a href="Tagged_Command_Queuing" title="Tagged Command Queuing">TCQ</a>). These commands are stored by the disk's embedded controller until they are completed. One benefit is that the commands can be re-ordered to be processed more efficiently, so that commands affecting the same area of a disk are grouped together. Should a read reference the data at the destination of a queued write, the to-be-written data will be returned.
</p><p>NCQ is usually used in combination with enabled write buffering. In case of a read/write <span class="clarify-content" style="padding-left:0.1em; padding-right:0.1em; color:var(--color-subtle, #54595d); border:1px solid var(--border-color-subtle, #c8ccd1);">FPDMA</span> command with Force Unit Access (FUA, see <a href="#Force_Unit_Access_(FUA)">below</a>) bit set to 0 and enabled write buffering, an operating system may see the write operation finished before the data is physically written to the media. In case of FUA bit set to 1 and enabled write buffering, write operation returns only after the data is physically written to the media.
</p>
<div class="mw-heading mw-heading2"><h2 id="Cache_control_from_the_host">Cache control from the host</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Cache_flushing">Cache flushing</h3></div>
<p>Data that was accepted in write cache of a disk device will be eventually written to disk platters, provided that no <a href="Resource_starvation" class="mw-redirect" title="Resource starvation">starvation condition</a> occurs as a result of firmware flaws, and that disk power supply is not interrupted before all cached writes are forced to disk platters. In order to control the write cache, ATA specification included FLUSH CACHE (E7h) and FLUSH CACHE EXT (EAh) commands. These commands cause the disk to complete writing data from its cache, and the disk will return "good" status after data in the write cache is written to disk media. In addition, when the drive received a STANDBY IMMEDIATE command, on disk media this command will park the head, on flash media this command will save <a href="Flash_Translation_Layer" class="mw-redirect" title="Flash Translation Layer">FTL</a> mapping table.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>An operating system will send FLUSH CACHE and STANDBY IMMEDIATE command to hard disk drives in the shutdown process.
</p><p>Mandatory cache flushing is used in <a href="Linux" title="Linux">Linux</a> for write barriers in some filesystems (for example, <a href="Ext4" title="Ext4">ext4</a>), together with Force Unit Access write command for <a href="Journaling_block_device" title="Journaling block device">journal</a> commit blocks.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Force_Unit_Access_(FUA)">Force Unit Access (FUA)</h3></div>
<p><i>Force Unit Access</i> (FUA) is an I/O write command option that forces written data all the way to stable storage.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> FUA write commands (WRITE DMA FUA EXT – 3Dh, WRITE DMA QUEUED FUA EXT – 3Eh, WRITE MULTIPLE FUA EXT – CEh), in contrast to corresponding commands without FUA, write data directly to the media, regardless of whether write caching in the device is enabled or not. FUA write command will not return until data is written to media, thus data written by a completed FUA write command is on permanent media even if the device is powered off before issuing a FLUSH CACHE command.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Smith2010_9-0" class="reference"><a href="#cite_note-Smith2010-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p><p>FUA appeared in the <a href="SCSI" title="SCSI">SCSI</a> command set, and was later adopted by <a href="SATA" title="SATA">SATA</a> with <a href="Native_Command_Queuing" title="Native Command Queuing">NCQ</a>. FUA is more fine-grained as it allows a single write operation to be forced to stable media and thus has smaller overall performance impact when compared to commands that flush the entire disk cache, such as the ATA FLUSH CACHE family of commands.<sup id="cite_ref-Smith2010_9-1" class="reference"><a href="#cite_note-Smith2010-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-JacobNg2010_10-0" class="reference"><a href="#cite_note-JacobNg2010-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>Windows (Vista and up) supports FUA as part of <a href="Transactional_NTFS" title="Transactional NTFS">Transactional NTFS</a>, but only for SCSI or Fibre Channel disks where support for FUA is common.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> It is not known whether a SATA drive that supports FUA write commands will actually honor the command and write data to disk platters as instructed; thus, Windows 8 and Windows Server 2012 instead send commands to flush the disk write cache after certain write operations.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p><p>Although the <a href="Linux_kernel" title="Linux kernel">Linux kernel</a> gained support for NCQ around 2007, SATA FUA remains disabled by default because of regressions that were found in 2012 when the kernel's support for FUA was tested.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> The Linux kernel supports FUA at the block layer level.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */
.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li><a href="Hybrid_array" title="Hybrid array">Hybrid array</a></li>
<li><a href="Hybrid_drive" title="Hybrid drive">Hybrid drive</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFMark_Kyrnin" class="citation web cs1">Mark Kyrnin. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150404165753/http://compreviews.about.com/od/storage/a/HDBuyersPt1.htm">"What to Look for in a Hard Drive"</a>. <i>about.com</i>. Archived from <a rel="nofollow" class="external text" href="http://compreviews.about.com/od/storage/a/HDBuyersPt1.htm">the original</a> on 2015-04-04<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-12-20</span></span>. <q>A drive's buffer is an amount of RAM on the drive to store frequently accessed data from the drive.</q></cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/">"Samsung SSD 860 PRO | Samsung V-NAND Consumer SSD | Samsung Semiconductor Global Website"</a>. <i>Samsung</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180406055035/https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/">Archived</a> from the original on April 6, 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">July 16,</span> 2018</span>. <q>CACHE MEMORY: 4 GB Low Power DDR4 (4,096 GB)</q></cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFKozierok2001" class="citation web cs1">Kozierok, Charles M. (2001-04-17). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181230081205/http://www.pcguide.com/ref/hdd/perf/perf/spec/otherCache-c.html">"Internal Cache (Buffer) Size"</a>. <i>The PC Guide</i>. Archived from <a rel="nofollow" class="external text" href="http://www.pcguide.com/ref/hdd/perf/perf/spec/otherCache-c.html">the original</a> on 2018-12-30<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-12-20</span></span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44830.pdf">Disks for Data Centers</a>.</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFHitachi2006" class="citation book cs1">Hitachi (2006). <i>Deskstar 7K80 Disk Drive Specification, 4th Edition (Revision 1.6)(12 September 2006) Final</i>. Hitachi Global Storage Technologies. pp. 99, 130, 131.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFChristoph_HellwigTheodore_Ts'o" class="citation web cs1">Christoph Hellwig; <a href="Theodore_Ts'o" title="Theodore Ts'o">Theodore Ts'o</a>. <a rel="nofollow" class="external text" href="http://www.spinics.net/lists/linux-ext4/msg24130.html">"Does ext4 send FUA to flush disk cache"</a>. <i>spinics.net</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-03-18</span></span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFJonathan_Corbet2010" class="citation web cs1">Jonathan Corbet (2010-08-18). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/400541/">"The end of block barriers"</a>. <a href="LWN.net" title="LWN.net">LWN.net</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-06-27</span></span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20200806025823/http://www.t13.org/Documents/UploadedDocuments/docs2008/D1699r6a-ATA8-ACS.pdf">"Information technology - AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS)"</a> <span class="cs1-format">(PDF)</span>. <i>T13/1699-D, revision 6a, September 6, 2008</i>. American National Standards Institute, Inc. Archived from <a rel="nofollow" class="external text" href="http://www.t13.org/documents/UploadedDocuments/docs2008/D1699r6a-ATA8-ACS.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 6 August 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">14 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-Smith2010-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-Smith2010_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Smith2010_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFGregory_Smith2010" class="citation book cs1">Gregory Smith (2010). <i>PostgreSQL 9.0: High Performance</i>. Packt Publishing Ltd. p. 78. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-84951-031-8</bdi>.</cite></span>
</li>
<li id="cite_note-JacobNg2010-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-JacobNg2010_10-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBruce_JacobSpencer_NgDavid_Wang2010" class="citation book cs1">Bruce Jacob; Spencer Ng; David Wang (2010). <i>Memory Systems: Cache, DRAM, Disk</i>. Morgan Kaufmann. p. 734. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-08-055384-9</bdi>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd979523%28v=vs.85%29.aspx">"Deploying Transactional NTFS (Windows)"</a>. Msdn.microsoft.com. 2013-12-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-01-24</span></span>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20140112070714/http://workinghardinit.wordpress.com/tag/forced-unit-access/">"Forced Unit Access | Working Hard In IT"</a>. Workinghardinit.wordpress.com. 2012-10-12. Archived from <a rel="nofollow" class="external text" href="http://workinghardinit.wordpress.com/tag/forced-unit-access/">the original</a> on 2014-01-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-01-24</span></span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://patchwork.ozlabs.org/patch/182612/">"Storage related regression in linux-next 20120824"</a>. 2012-09-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-06-27</span></span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/torvalds/linux/commit/9973a1c306a01804c41ab34166f1320c9f209038">"Revert "libata: enable SATA disk fua detection on default""</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. 2012-09-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-06-27</span></span>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.kernel.org/doc/Documentation/block/writeback_cache_control.txt">"Linux kernel documentation: Documentation/block/writeback_cache_control.txt"</a>. <a href="Kernel.org" title="Kernel.org">kernel.org</a>. 2013-08-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-01-24</span></span>.</cite></span>
</li>
</ol></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-02" href="https://en.wikipedia.org/wiki/?title=Disk_buffer&oldid=1303885227">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>